// pages/evaluationList/evaluationList.js
const app = getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        perPageCount: 20, //每页显示个数 
        evaluateList: [], //放置返回数据的数组 
        isFromFirst: true,   // 用于判断searchWorkList数组是不是空数组，默认true，空的数组  
        pageNo: 1,   // 设置加载的第几次，默认是第一次  
        isRefresh: false, //"上拉加载"的变量，默认false，隐藏  
        dataLoadingComplete: false,  //“没有数据”的变量，默认false，隐藏  
        current: '', // 当前显示图片的http链接
        urls: [] // 需要预览的图片http链接列表
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        this.setData({
            goodsID: options.goodsID,
            markID: options.markID
        });
        this.getEvaluateGoodsListData(options.goodsID, options.markID, this.data.pageNo);
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {
        let that = this;
        if (that.data.isRefresh && !that.data.dataLoadingComplete) {
            var _pageNo = that.data.pageNo + 1;
            that.setData({
                pageNo: _pageNo,  //每次触发上拉事件，把pageNo+1  
                isFromFirst: false  //触发到上拉事件，把isFromSearch设为为false  
            });
            that.getEvaluateGoodsListData(that.data.goodsID, that.data.markID, _pageNo);
        }
    },

    getEvaluateGoodsListData: function (_goodsID, _markID, _pageNo) {
        var that = this;
        var params = {
            userID: app.globalData.userID,
            goodsID: _goodsID,
            markID: _markID,
            pageNo: _pageNo
        }
        app.network.requestPost(app.route.ROUTE_GET_EVALUATE_GOODS_LIST, params, '正在获取数据', function (res) {
            //res就是我们请求接口返回的数据
            if (res.success) {
                var _evaluateList = res.context.evaluateList;
                let list = [];
                if (_evaluateList.length != 0) {
                    that.data.isFromFirst ? list = res.context.evaluateList : list = that.data.evaluateList.concat(res.context.evaluateList);
                    if (that.data.perPageCount > _evaluateList.length) {
                        that.setData({
                            evaluateList: list, //获取数据数组  
                            dataLoadingComplete: true, //把“没有数据”设为true，显示 
                            isRefresh: false
                        });
                    } else {
                        that.setData({
                            evaluateList: list, //获取数据数组  
                            isRefresh: true   //把"上拉加载"的变量设为false，显示  
                        });
                    }
                } else {
                    that.setData({
                        dataLoadingComplete: true, //把“没有数据”设为true，显示  
                        isRefresh: false  //把"上拉加载"的变量设为false，隐藏  
                    });
                }
            } else {
                wx.showToast({
                    title: res.msg,
                })
            }
        }, function (res) {
            wx.showToast({
                title: '加载数据失败',
            })
        })
    },
    praiseTap: function(e) {
        var _evaluateID = e.currentTarget.dataset.evaluateid;
        var _isPraise = e.currentTarget.dataset.ispraise;
        var that = this;
        var params = {
            userID: app.globalData.userID,
            goodsID: _evaluateID
        }
        var url = _isPraise ? app.route.ROUTE_DEL_PRAISE_LOG : app.route.ROUTE_ADD_PRAISE_LOG;
        app.network.requestPost(url, params, '', function (res) {
            //res就是我们请求接口返回的数据
            if (res.success) {
                var _evaluateList = that.data.evaluateList;
                for (var item of _evaluateList) {
                    if (item.evaluateID == _evaluateID) {
                        if (_isPraise) {
                            item.isPraise = 0;
                            item.praiseNum -= 1;
                        } else {
                            item.isPraise = 1;
                            item.praiseNum += 1;
                        }
                    }
                }
                that.setData({
                    evaluateList: _evaluateList
                })
            } else {
                wx.showToast({
                    title: res.msg,
                })
            }
        }, function (res) {
            wx.showToast({
                title: '加载数据失败',
            })
        })
    },
    previewImage: function (e) {
        var list = e.currentTarget.dataset.list;
        var index = e.currentTarget.dataset.index;
        wx.previewImage({
            current: list[index], // 当前显示图片的http链接
            urls: list // 需要预览的图片http链接列表
        })
    },
})